# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.930.33.3 -> 1.930.33.4 # include/linux/acpi.h 1.6.1.2 -> 1.6.1.3 # arch/i386/kernel/acpi.c 1.1 -> 1.2 # arch/ia64/kernel/acpi.c 1.6.1.4 -> 1.6.2.1 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 03/02/14 bjorn_helgaas@hp.com 1.930.32.2 # ia64: add support for MMIO and IO port spaces from ACPI _CRS. # -------------------------------------------- # 03/02/14 bjorn_helgaas@hp.com 1.930.32.3 # ia64: add iomem_resource and ioport_resource allocation. # -------------------------------------------- # 03/02/14 agrover@groveronline.com 1.939 # ACPI: Factor common code out of an if/else # -------------------------------------------- # 03/02/15 paulus@samba.org 1.930.35.1 # PPC32: fix compilation error in arch/ppc/platforms/pmac_setup.c # -------------------------------------------- # 03/02/14 agrover@groveronline.com 1.940 # ACPI: *really* fix ISO SCI override support (thanks again to John Stultz) # -------------------------------------------- # 03/02/15 paulus@samba.org 1.930.35.2 # PPC32: Move some variable declarations related to the MMU hash table to # -------------------------------------------- # 03/02/15 rl@hellgate.ch 1.930.1.60 # [netdrvr via-rhine] trivial bits: # - nuke mii_status_bits # - move clear_tally_counters() up so it can get inlined (pointed out by # Luca Barbieri) # - rename via_restart_tx() -> via_rhine_restart_tx() # -------------------------------------------- # 03/02/15 rl@hellgate.ch 1.930.1.61 # [netdrvr via-rhine] fix broken tx-underrun handling: # The Tx underrun handling in the current driver is broken. The details have # been explained in a posting "VIA Rhine 1.15exp1, patch for # testing/discussion" a couple of months ago. # -------------------------------------------- # 03/02/15 rl@hellgate.ch 1.930.1.62 # [netdrvr via-rhine] various duplex-related fixes: # Fix the following bugs: # - after a watchdog timeout (still a common thing with the Rhine), the # driver will fall back to half-duplex, ignoring the auto-negotiation # results, killing performance completely until the driver is reloaded; # fixed by clearing full_duplex in init_registers() # - driver considers only 0x200 for full-duplex option; now 0x220 # - duplex code used dev->name before it's initialized; code section moved # # The full_duplex and force_media related code is quite a mess, but this # minimal fix will make the most annoying problems go away. Looking at some # other code (e.g. mii.c) it seems to me the interaction between user force, # autoneg results and full_duplex/force_media is amazingly complex, so I'll # leave it at this for now. # -------------------------------------------- # 03/02/15 rl@hellgate.ch 1.930.1.63 # [netdrvr via-rhine] reset function rewrite: # The new reset function only waits up to 0.1 ms for the reset to complete, # instead of 10 ms. However, it introduces the use of a forced reset flag if # a chip doesn't seem cooperative. This fixes cases where until now only # reloading the driver or even rebooting the machine would bring the chip # back. # -------------------------------------------- # 03/02/15 rl@hellgate.ch 1.930.1.64 # [netdrvr via-rhine] bump version, use constant instead of magic number # -------------------------------------------- # 03/02/17 shaggy@shaggy.austin.ibm.com 1.930.36.1 # Merge jfs@jfs.bkbits.net:linux-2.4 # into shaggy.austin.ibm.com:/shaggy/bk/jfs-2.4 # -------------------------------------------- # 03/02/17 marcelo@freak.distro.conectiva 1.930.37.1 # Merge bk://kernel.bkbits.net/jgarzik/arm-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/02/17 marcelo@freak.distro.conectiva 1.930.37.2 # Merge bk://ppc.bkbits.net/for-marcelo-ppc # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/02/17 jgarzik@redhat.com 1.930.1.65 # [netdrvr 8139too] add some boards to the list of tested boards # -------------------------------------------- # 03/02/17 willy@debian.org 1.930.1.66 # [wireless airo] call pci_enable_device, pci_set_master where needed # -------------------------------------------- # 03/02/17 zaitcev@redhat.com 1.930.18.3 # [SPARC]: Add missing newline to kernel OOPS printk. # -------------------------------------------- # 03/02/18 shaggy@shaggy.austin.ibm.com 1.930.36.2 # JFS: Fix jfs_sync_fs # # jfs_sync_fs was implemented using the same code as the unmount code to flush # the journal and wait for the journal to quiesce. Since jfs_sync_fs may be # called while the volume is under heavy use, we can end up waiting # indefinately. Code in jfs_flush_journal meant to detect a hang at unmount # time may be triggered in this case causing a trap. This patch changes # jfs_sync_fs to only wait until the most recent transaction has been # commited to disk, rather than waiting until the commit queue is empty. # -------------------------------------------- # 03/02/18 jgarzik@redhat.com 1.930.38.1 # [netdrvr tg3] disable 5701 h/w bug workaround during core clock reset # -------------------------------------------- # 03/02/18 jgarzik@redhat.com 1.930.38.2 # [netdrvr tg3] fix NAPI deadlock # * do not hold driver spinlock during RX processing in tg3_poll # (this is the deadlock fix) # * create netif_poll_{en,dis}able to synchronize against dev->poll() # * create __netif_rx_complete to avoid a third irq-save in tg3_poll # * create tg3_netif_{start,stop} as driver-specific helper functions # which disable and enable NAPI polling and TX queueing. Note that # the TX queueing enable/disable is purely advisory, and is not # intended to prevent any races. # * remove tg3_halt call from tg3_set_power_state, as all callers # have already called tg3_halt, making it redundant. Removing this # function call also eliminates some locking complications. # * use new helper __netif_rx_complete in tg3_poll # * create tg3_reset_task, as a function that runs in process context # which resets the NIC. This is needed because tg3_netif_stop() # calls schedule() in the process of disabling dev->poll. # * schedule tg3_reset_task from tg3_tx_timeout # * schedule tg3_reset_task from tg3_timer # * wrap several tg3_halt...tg3_init_hw sequences with # tg3_netif_stop...tg3_netif_start. In addition to synchronizing # with dev->poll, this additionally fixes bugs where we were not # calling netif_wake_queue, when we should have been. # * move netif_start_queue call to very bottom of tg3_open # * add missing tg3_netif_{start,stop} to tg3_{suspend,resume}, # further fixing obvious bugs. # -------------------------------------------- # 03/02/18 jgarzik@redhat.com 1.930.38.3 # [netdrvr tg3] bump version to 1.4c / Feb 18 # -------------------------------------------- # 03/02/18 jgarzik@redhat.com 1.930.38.4 # [netdrvr tg3] properly synchronize with TX, in tg3_netif_stop # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.941 # ACPI: update NUMA maintainer email # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.942 # ACPI: change includes of ACPI headers for new location # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.943 # ACPI: Port mochel's makefile improvements # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.944 # ACPI: Eliminate use of acpi_gpl_gpe_number_info (Matthew Wilcox) # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.945 # ACPI: Support translation attribute (Bjorn Helgaas) # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.946 # ACPI: Add ability to override predefined object values (Ducrot Bruno) # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.947 # ACPI: Decrease size of override's static array, add a define for the length, # and print a msg if used # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.948 # ACPI: Fix printk output (Jochen Hein) # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.949 # ACPI: Misc interpreter improvements # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.950 # ACPI: misc sync-ups # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.951 # ACPI: Change license from GPL to dual GPL and BSD-style # -------------------------------------------- # 03/02/18 jgarzik@redhat.com 1.930.38.5 # [netdrvr tg3] fix TX race in previous code, and another buglet # # * call netif_tx_disable after netif_poll_disable, fixing TX race, # in tg3_netif_stop # * follow the ordering of the tg3_netif_stop change, and enable # poll after waking TX, in tg3_netif_start # * after doing those two steps in tg3_netif_start, check for work # using new helper function tg3_cond_int # * add helper function tg3_cond_int, which delivers an interrupt # if and only if the status block was updated (i.e. if work # is likely to be available) # -------------------------------------------- # 03/02/18 agrover@groveronline.com 1.952 # Merge groveronline.com:/root/bk/linux-2.4 # into groveronline.com:/root/bk/linux-2.4-acpi # -------------------------------------------- # 03/02/18 davem@nuts.ninka.net 1.930.39.1 # Merge nuts.ninka.net:/home/davem/src/BK/network-2.4 # into nuts.ninka.net:/home/davem/src/BK/net-2.4 # -------------------------------------------- # 03/02/18 kaber@trash.net 1.930.39.2 # [IPV{4,6}]: lru queue for ip_fragment evictor. # The current ip_fragment evictor kills the oldest entry of each hash bucket # starting with 0 instead of killing the oldest entry of all buckets. This # leads # to unfair behaviour if one of the higher hash slots carries alot of # fragments. # This patch holds the frag heads in a lru queue so we can kills the least # recently used first. Each arriving fragment counts as usage. # -------------------------------------------- # 03/02/18 jgarzik@redhat.com 1.930.1.67 # [netdrvr] Update Doc/networking/netdevices.txt with more locking rules # -------------------------------------------- # 03/02/19 agrover@groveronline.com 1.953 # ACPI: Backport Toshiba driver changes from 2.5 (John Belmonte) # -------------------------------------------- # 03/02/19 linux-bt.adm@hostme.bitkeeper.com 1.930.40.1 # Merge bk://linux.bkbits.net/linux-2.4 # into hostme.bitkeeper.com:/ua/repos/l/linux-bt/bt-2.4 # -------------------------------------------- # 03/02/19 agrover@groveronline.com 1.954 # ACPI: Do not count processor objects for non-present CPUs # -------------------------------------------- # 03/02/19 agrover@groveronline.com 1.955 # ACPI: Revert a change that allowed P_BLK lengths to be 4 or 5. This is causing # us to think that some systems support C2 when they really don't. # -------------------------------------------- # 03/02/19 agrover@groveronline.com 1.956 # ACPI: Oops, remove 2.5-ism # -------------------------------------------- # 03/02/19 chas@locutus.cmf.nrl.navy.mil 1.930.39.3 # [ATM]: use sock timestamp # -------------------------------------------- # 03/02/19 sri@us.ibm.com 1.930.39.4 # [IPV4/IPV6]: Fix to avoid overriding TCP/UDP with a new protocol of same type. # # Registering a new protocol of type SOCK_STREAM with a protocol value other # than IPPROTO_TCP will override TCP if the application passes 0 as the protocol # to the socket() call. # socket(AF_INET, SOCK_STREAM, 0) # I guess many applications follow this syntax as they assume TCP is the default # protocol for SOCK_STREAM type. # The same holds true for SOCK_DGRAM type sockets assuing UDP as the default. # # This is due to the insertion of a new inet_protosw entry into the inetsw list # of a particular type at the head of the list. inet_create() uses the first # entry in the list if a wild-card protocol is passed. # # The following patch fixes the insertion of a new entry so that it is added # after the last permanent entry in the list. This makes sure that the new # entries do not override any existing permanent entries. # -------------------------------------------- # 03/02/20 greg@kroah.com 1.930.41.1 # [PATCH] USB: hid blacklist update. # -------------------------------------------- # 03/02/20 greg@kroah.com 1.930.41.2 # [PATCH] USB: more hid blacklist items. # -------------------------------------------- # 03/02/20 henning@meier-geinitz.de 1.930.41.3 # [PATCH] USB scanner.c: Adjust syslog output # # This patch prints the vendor + product ids of the scanner after it has # been successfully detected. # # Also the annoying error message about "Scanner device is already open" # was downgraded to a dbg. Scanning for devices while one scanner device # was open produced several 100 error messages in syslog. # -------------------------------------------- # 03/02/20 wolfgang@iksw-muees.de 1.930.41.4 # [PATCH] USB: updated Auerswald driver # -------------------------------------------- # 03/02/20 p.guehring@futureware.at 1.930.41.5 # [PATCH] USB: FTDI driver, new id added # -------------------------------------------- # 03/02/20 greg@kroah.com 1.930.41.6 # [PATCH] USB: added tripp device id's to pl2303 driver. # # Thanks to John Moses for the information. # -------------------------------------------- # 03/02/20 david-b@pacbell.net 1.930.41.7 # [PATCH] USB: ehci-hcd, more hangs gone # # The key update in this patch is an important qh state machine fix. # In my testing, that removes hangs that I could reproduce on VIA and # Philips (much friendlier failures), without resort to sadism. # # I suspect VT6202 users will still complain. (I just saw one test # deadlock in usb-storage; and at least one bug in the EHCI code # enjoys hide-and-seek too much.) And the VT8235 and "hdparm -tT" # numbers are still about half what they should be (on 2.4). # -------------------------------------------- # 03/02/20 stern@rowland.harvard.edu 1.930.41.8 # [PATCH] USB: Patches for the ECONNRESET error (2.4) # # Matt Dharm asked me to send these bug-fix patches directly to you. They # correct the error-code handling in usb-storage. The change for 2.5 is # pretty minor; it only affects debugging output. But the change for 2.4 is # more pervasive, and according to Tom Collins it is the key to making a usb # hard disk work on his MIPS-based system. # -------------------------------------------- # 03/02/20 petkan@users.sourceforge.net 1.930.41.9 # [PATCH] USB: pegasus update (2.4) # # These are very small and similar csets against both usb-2.4 and usb-2.5 # trees. One part of them is adding a missing flag to one of the device # descriptors. The other part is fixing a vendor name which i mistakenly # replaced with the product name. # -------------------------------------------- # 03/02/20 oliver@neukum.name 1.930.41.10 # [PATCH] USB: 2.4 ehci uses SLAB_KERNEL in interrupt # -------------------------------------------- # 03/02/20 cniehaus@handhelds.org 1.930.41.11 # [PATCH] spelling fix for drivers_usb_usbnet.c # # Hi # # This fixes iPaq to iPAQ. # # Carsten # -------------------------------------------- # 03/02/20 johannes@erdfelt.com 1.930.41.12 # [PATCH] usb_get_driver_np() gives wrong driver name (usb_mouse) # # On Thu, Feb 06, 2003, Boris Duerner wrote: # > I use the usb_get_driver_np() function to get the name of the loaded driver # > for a usb device and I found that for a device using the usbmouse module the # > wrong driver name is returned. It gives me "usb_mouse" instead of usbmouse. # > the driver name is also wrong in /proc/bus/usb/drivers but correct in lsmod # > or /proc/modules resp. # # The driver name in /proc/bus/usb/drivers is given differently than from # /proc/modules. # # I'm not exactly sure why the names are seperate, but it leads to # situations like this where the names won't match for seemingly no good # reason. The usbkbd driver was even worse, giving it's name as "keyboard". # -------------------------------------------- # 03/02/20 oliver@neukum.name 1.930.41.13 # [PATCH] USB: kaweth length calculation fix # # this is a fix for the DHCP problem people have reported. # # - fix dhcp problem by correct length calculation # Thanks to Oliver Kurth # -------------------------------------------- # 03/02/20 oliver@neukum.name 1.930.41.14 # [PATCH] USB: new device id for kaweth # # - additional device ID # -------------------------------------------- # 03/02/20 rusty@rustcorp.com.au 1.930.41.15 # [PATCH] USB: Clean up some USB macros # # Reported by Joern Engel. # # 1) Wrap "ep" arg in brackets. # 2) Make usb_settoggle an inline, to avoid double eval. # -------------------------------------------- # 03/02/20 d3august@dtek.chalmers.se 1.930.41.16 # [PATCH] USB: small uhci bug # # I noticed that if you modprobe uhci but have no such hardware (it was # an alpha, with ohci, and I was tired) the module fails to load, # obviously, but it leaves a proc file behind, /proc/driver/uhci. # # The attached patch should fix that, it seemed simple enough. It's not # tested beyond the fact that it compiles, but I have a good feeling about # it. # -------------------------------------------- # 03/02/20 johannes@erdfelt.com 1.930.41.17 # [PATCH] USB: OHCI trivial remove unused field # # While looking at the driver, I noticed this field was not used anymore. # # Trivial patch to remove it. # -------------------------------------------- # 03/02/20 johannes@erdfelt.com 1.930.41.18 # [PATCH] USB: 2.4 OHCI trivial comment cleanup # # I've been digging into the OHCI driver to understand and/or fix a couple # of bugs I've been running into and I noticed this comment. # # It's not accurate anymore since all 3 HCs use urb->timeout as a relative # value. # -------------------------------------------- # 03/02/20 andrew.wood@ivarch.com 1.930.41.19 # [PATCH] USB: USB-MIDI support for Roland SC8820 # # Please find attached a patch against kernel 2.4.20 which adds support for # the Roland SC8820 to the USB MIDI driver. It just adds another ID to the # list of supported devices. # # Although Roland have discontinued this product they do still produce a # development board on request using this chipset, and there are a few SC8820 # boxes still around, so other people may find this patch useful. # -------------------------------------------- # 03/02/20 bde@bwlink.com 1.930.18.4 # [SPARC64]: Fix ocndition code handling in do_rt_sigreturn. # -------------------------------------------- # 03/02/20 chas@cmf.nrl.navy.mil 1.930.39.5 # [ATM]: Add MAINTAINERS entry. # -------------------------------------------- # 03/02/20 davem@nuts.ninka.net 1.930.39.6 # [RANDOM]: Backport 2.5.x ipv4/ipv6 sequence number generation SMP fixes by manfred@colorfullife.com. # -------------------------------------------- # 03/02/21 marcelo@freak.distro.conectiva 1.930.37.3 # Merge bk://linuxusb.bkbits.net/marcelo-2.4 # into freak.distro.conectiva:/home/marcelo/bk/linux-2.4 # -------------------------------------------- # 03/02/21 jfs.adm@hostme.bitkeeper.com 1.930.37.4 # Merge bk://linux.bkbits.net/linux-2.4 # into hostme.bitkeeper.com:/ua/repos/j/jfs/linux-2.4 # -------------------------------------------- # 03/02/21 gibbs@overdrive.btc.adaptec.com 1.884.1.100 # Aic7xxx Driver Update to verstion 6.2.29 # o Add bus attachment specific hooks for chip-init, suspend and # resume. This is a precursor to better suspend and resume support. # o Fix a bug that could cause unnecessary renegotiations after selection # timeouts. # o Fix a hang that occurred if the mid-layer attempted to probe devices # at the controller's own ID. # o Add some delays to the termination detection logic for 785X chips. # This might resolve some termination problems on very early controllers. # o Fix async negotiation bug when the initial bus reset is # disabled if the target device rejects our WDTR of 0. # o Fix typos. # o Fix printf formats to work in both C99 and C89 environments. # -------------------------------------------- # 03/02/21 gibbs@overdrive.btc.adaptec.com 1.884.1.101 # Update aic7xxx/Makefile # o Move a misplaced .endif that removed the aicasm build dependency # o when certain options were not set. # -------------------------------------------- # 03/02/21 gibbs@overdrive.btc.adaptec.com 1.884.1.102 # Update aicasm/Makefile so that link specifications are specified # after all object files. This seems to be required in order to # link correctly in some cases. # -------------------------------------------- # 03/02/21 gibbs@overdrive.btc.adaptec.com 1.884.1.103 # Aic79xx Driver Update to 1.3.2 # o Disable CIO bus stretch of MDFFSTAT so that PCI-X errors can # be handled even while the sequencer is reading this register # o On RevA Silicon, modify firmware so that the chip does not violate # the P1 setup to datavalid setup time specification. # o Add driver strings for the 39320A adapter. # o Fix data corruption issue with Rev A hardware on # IBM and Fujitsu U320 Drives. # o Fix bug in ahd_pause_and_flushwork() that could prevent recovery # actions from being effective. # o Correct hang condition caused by attempts by the mid-layer to probe # the controller's own ID. # o Fix async negotiation bug when the initial bus reset is # disabled if the target device rejects our WDTR of 0. # o Fix driver initialization hang if the PCI cacheline size is 0. # o Fix typos. # o Fix printf arguments to work in both C99 and C89 environments. # -------------------------------------------- # 03/02/21 gibbs@overdrive.btc.adaptec.com 1.884.1.104 # Update Aic7xxx to version 6.2.29 # o Add file missed in last aic7xxx cset. # -------------------------------------------- # 03/02/21 jakub@redhat.com 1.930.18.5 # [SPARC64]: Fix typo in sparc64_get_context (G7 register is saved wrongly). # -------------------------------------------- # 03/02/22 davem@nuts.ninka.net 1.930.18.6 # [SPARC64]: Implement STICK synchronization using ia64 port algorithms. # -------------------------------------------- # 03/02/22 davem@nuts.ninka.net 1.930.42.1 # Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.4 # into nuts.ninka.net:/home/davem/src/BK/sparc-2.4 # -------------------------------------------- # 03/02/22 davem@nuts.ninka.net 1.930.39.7 # [NET]: Export skb_pad to modules. # -------------------------------------------- # 03/02/22 davem@nuts.ninka.net 1.930.42.2 # [SPARC64]: Update defconfig. # -------------------------------------------- # 03/02/22 dave@thedillows.org 1.930.43.1 # Use a non-zero rx_copybreak to avoid charging a full MTU to the # socket on tiny packets. # # Dave Miller suggested 256, I used 200 to be more consistent with the # other network drivers. # -------------------------------------------- # 03/02/22 ak@muc.de 1.930.39.8 # [NET]: Make skbuff.h -W clean, skb_headlen should return unsigned quantity. # -------------------------------------------- # 03/02/22 jmorris@intercode.com.au 1.930.39.9 # [NET]: Add myself as co-maintainer. # -------------------------------------------- # 03/02/22 davem@nuts.ninka.net 1.930.39.10 # [NETLINK]: Remove buggy and useless rcv queue wakeup tests. # -------------------------------------------- # 03/02/23 hch@lst.de 1.930.39.11 # [NET]: Remove __NO_VERSION__ from networking code. # -------------------------------------------- # 03/02/23 jmorris@intercode.com.au 1.930.39.12 # [NETLINK]: Un-duplicate rcv wakeup logic. # -------------------------------------------- # 03/02/23 yoshfuji@linux-ipv6.org 1.930.39.13 # [IPV6]: Export ip6_route_me_harder for netfilter and add ipv6_addr_prefix. # -------------------------------------------- # 03/02/23 davem@nuts.ninka.net 1.930.39.14 # [IPV6]: Cure typo in ipv6_addr_prefix. # -------------------------------------------- # 03/02/24 davem@nuts.ninka.net 1.930.39.15 # [IPV{4,6}]: Make icmp_socket per-cpu and simplify locking. # -------------------------------------------- # 03/02/24 bjorn_helgaas@hp.com 1.930.33.4 # ACPI: Add acpi_register_irq() interface. # -------------------------------------------- # diff -Nru a/arch/i386/kernel/acpi.c b/arch/i386/kernel/acpi.c --- a/arch/i386/kernel/acpi.c Wed Oct 8 09:06:53 2003 +++ b/arch/i386/kernel/acpi.c Wed Oct 8 09:06:53 2003 @@ -422,6 +422,15 @@ return 0; } +int +acpi_register_irq ( + u32 gsi, + u32 polarity, + u32 mode) +{ + return gsi; +} + #endif /*CONFIG_ACPI_BOOT*/ diff -Nru a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c --- a/arch/ia64/kernel/acpi.c Wed Oct 8 09:06:53 2003 +++ b/arch/ia64/kernel/acpi.c Wed Oct 8 09:06:53 2003 @@ -812,4 +812,25 @@ return gsi_to_vector(irq); } +int +acpi_register_irq (u32 gsi, u32 polarity, u32 mode) +{ + u32 irq_base; + char *iosapic_address; + + if (has_8259 && gsi < 16) + return isa_irq_to_vector(gsi); + + if (!iosapic_register_intr) + return 0; + + if (!acpi_find_iosapic(gsi, &irq_base, &iosapic_address)) + return iosapic_register_intr(gsi, + polarity == ACPI_ACTIVE_HIGH, + mode == ACPI_EDGE_SENSITIVE, + irq_base, iosapic_address); + + return 0; +} + #endif /* CONFIG_ACPI_BOOT */ diff -Nru a/include/linux/acpi.h b/include/linux/acpi.h --- a/include/linux/acpi.h Wed Oct 8 09:06:53 2003 +++ b/include/linux/acpi.h Wed Oct 8 09:06:53 2003 @@ -380,6 +380,7 @@ int acpi_init(void); acpi_status acpi_hp_csr_space(acpi_handle, u64 *base, u64 *length); acpi_status acpi_get_addr_space(acpi_handle, u8 type, u64 *base, u64 *length, u64 *tra); +int acpi_register_irq(u32 gsi, u32 polarity, u32 mode); #endif /*CONFIG_ACPI*/